1. Technical Field
The present invention relates in general to a system and method for point in time backups. More particularly, the present invention relates to a system and method for tracking data block content changes during a point in time backup and re-copying the data blocks whose content changed after their original content was backed up.
2. Description of the Related Art
Backing up data is an essential element of a computer system. Data, in many cases, is more valuable than the computer system and storage area in which the data resides. Backing up data on a regular basis is necessary in order to prevent the data from being lost due to power surges, malicious users, or accidental removal.
Point in time backups are a type of backup that copies data from a source location to a target location whereby the backup is valid for a particular point in time. The point in time backup's “timestamp” is at the end of its last data block copy. For example, if a point in time backup copies 50 data blocks to a backup storage location, the “timestamp” is at the end of the 50th data block copy. A challenge found, however, is that source location data blocks are changed in response to a write request that have been already copied to a target location. In turn, the point in time backup is not valid unless the changed data blocks are re-copied to the target location.
However, not all data blocks that change are required to be re-copied to the backup storage area. If a data block's content changed that has not yet been backed up, the changed data block is backed up during the point in time backup's first pass data block copy. For example, if the point in time backup has copied the first ten of fifty data blocks to a backup area and the twentieth data block changes, the point in time backup copies the twentieth data block to the backup storage area when it reaches the twentieth data block location. A challenge found, however, is identifying which data block changes are required to be re-copied to the backup area in order to create a valid point in time backup.
What is needed, therefore, is a system and method for tracking data block content changes during a point in time backup and re-copying the data blocks that changed after their content was backed up.